// 高精度除法
// 测试链接：https://www.luogu.com.cn/problem/P1480
// 参考帖子：https://www.cnblogs.com/dx123/p/16655549.html

#include <bits/stdc++.h>

using namespace std;

const int MAXN = 5010;
int A[MAXN], B, C[MAXN];
int len; 

// c = a / b
void div(int a[], int b, int c[])
{
    long long r = 0;
    for(int i = len; i >= 1; --i)
    {
        r = r * 10 + a[i]; // 被除数
        c[i] = r / b;      // 存商
        r %= b;            // 余数
    }
    while(len > 1 && c[len] == 0) --len; // 处理前导零
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    /*
    高精度加法的步骤：
    1. 高精度数字利用字符串读入
    2. 把字符串翻转存入两个整形数组 A，B
    3. 从高位到低位，当前被除数，存商，求余数
    4. 把数组 C 从高位到低位依次输出
    */

    string sa;
    cin >> sa >> B;
    len = sa.size();
    // 字符串翻转
    for(int i = 1; i <= len; ++i) A[i] = sa[len - i] - '0';
    div(A, B, C);
    for(int i = len; i >= 1; --i) printf("%d", C[i]);

    return 0;
}